package com.honghu.villagepost.adapter;

import android.text.TextUtils;
import android.view.ViewGroup;
import android.widget.ImageView;

import com.honghu.villagepost.R;
import com.honghu.villagepost.entity.BannerEntity;
import com.bumptech.glide.Glide;
import com.youth.banner.adapter.BannerAdapter;

import java.util.List;

/**
 * @author: mqwang
 * @create: 1/25/21 3:34 PM
 * @Description:
 */
public class ImageAdapter extends BannerAdapter<BannerEntity, ImageHolder> {

    public ImageAdapter(List<BannerEntity> mDatas) {
        //设置数据，也可以调用banner提供的方法,或者自己在adapter中实现
        super(mDatas);
    }

    //更新数据
    public void updateData(List<BannerEntity> data) {
        //这里的代码自己发挥，比如如下的写法等等
        mDatas.clear();
        mDatas.addAll(data);
        notifyDataSetChanged();
    }


    //创建ViewHolder，可以用viewType这个字段来区分不同的ViewHolder
    @Override
    public ImageHolder onCreateHolder(ViewGroup parent, int viewType) {
        ImageView imageView = new ImageView(parent.getContext());
        //注意，必须设置为match_parent，这个是viewpager2强制要求的
        ViewGroup.LayoutParams params = new ViewGroup.LayoutParams(
                ViewGroup.LayoutParams.MATCH_PARENT,
                ViewGroup.LayoutParams.MATCH_PARENT);
        imageView.setLayoutParams(params);
        imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
        return new ImageHolder(imageView);
    }

    @Override
    public void onBindView(ImageHolder holder, BannerEntity data, int position, int size) {
        //图片加载自己实现
        if (!TextUtils.isEmpty(data.pic)){
            Glide.with(holder.itemView)
                    .load(data.pic)
//                .load(R.mipmap.ic_banner)
                    .into(holder.imageView);
        }else {
            holder.imageView.setImageResource(data.picRes);
        }
    }

}